10 REM COPYRIGHT 1992 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 40 A=A+1:IF A=1 THEN LOAD"PIXEL MOVER.OBJ",8,1 50 SA= 51888:EN= SA+125:XP= SA+87:YP= SA+92:D1= SA+375:D2= SA+372:WR= SA+599 60 SP= SA+211:TK= SA+51:B1= 53280:B2= 53281:SC= PEEK(648)*256 70 EF= -65536:P= 1000:S2= 51700:C= 0:CK =C:X= 782:Y= 781 80 SP$=" ":REM 22 SPACES 90 REM ---- ML CHROUT WEDGE ---- 100 REM (TOTALLY RELOCATEABLE; SET S2 TO START ADDRESS OF WEDGE) 110 DATA 141,-16,142,-18,140,-20,165,154,201,3,240,9,169,0,162,0,160,0,76 120 DATA 202,241,173,-16,201,13,240,4,201,17,208,236,164,214,192,24,208,230 130 DATA 169,0,170,160,8,32,-1112,198,214,32,16,229,76,-15,-65536 140 REM ---- 150 READA:ZA=ABS(A):IFA=EFTHEN220 160 CK=CK+ZA:IFSGN(A)=-1THEN180 170 POKES2+C,A:C=C+1:POKE B1,A:GOTO150 180 IFZA>1000THENZZ=SA+ZA-1000:GOTO200 190 ZZ=S2+ZA 200 HI=INT(ZZ/256):LO=ZZ-HI*256:POKES2+C,LO:POKES2+C+1,HI:C=C+2:GOTO150 210 REM ---- 220 IF CK<>7031THEN PRINT"ERROR IN DATA STATEMENTS!":STOP 230 SYS TK:SYS 65418:SYS SA 240 HI=INT(S2/256):LO=S2-HI*256:POKE 806,LO:POKE 807,HI:REM SET NEW VECTOR 250 POKE B1,0:POKE B2,0:POKE 648,224:PRINT"[151][147]":POKE648,SC/256 260 POKE SP,0:POKE YP,23:REM ENTER 24 ROW MODE 270 POKE D2,18:SYS EN,0,200:POKE D2,30 280 PRINT"[155][147]":GOSUB1110 290 PRINT SPC(14)"[175][175][175][175][175][175][175][175][175][175][175][175][175]" 300 PRINT SPC(14)"[152] PIXEL MOVER " 310 PRINT SPC(14)"[151][183][183][183][183][183][183][183][183][183][183][183][183][183][155]" 320 PRINT:PRINT " COPYRIGHT 1991 COMPUTE PUBS INTL LTD" 330 PRINT:PRINT " WELCOME TO PIXEL MOVER, THE SMOOTH" 340 PRINT"SCROLLING PROGRAM FOR THE COMMODORE 64!" 350 PRINT"WITH PIXEL MOVER, YOU CAN SMOOTHLY" 360 PRINT"SCROLL THE WHOLE SCREEN ONE PIXEL AT A" 370 PRINT"TIME IN ALL EIGHT DIRECTIONS, EVEN" 380 PRINT"FROM BASIC![158]" 390 PRINT:PRINTSPC(6)"PRESS A KEY TO CONTINUE...." 400 SYS EN,0,40 410 GETA$:IF A$="" THEN410 420 SYS EN,0,152 430 POKE WR,1:POKE D1,19:POKE D2,19:POKE XP,192:POKE YP,19 440 PRINT"[152][147]":GOSUB1120 450 X1=9:Y1=8:GOSUB1170:PRINTLEFT$(SP$,21); 460 PRINT SPC(19)" [153]PRESS A NUMBER FROM[152] "; 470 PRINT SPC(19)" [153]1 TO 8 FOR A [152] "; 480 PRINT SPC(19)" [153]DIFFERENT SCROLL [152] "; 490 PRINT SPC(19)" [153]DIRECTION. PRESS C [152] "; 500 PRINT SPC(19)" [153]TO CONTINUE.... [152] "; 510 PRINT SPC(19)LEFT$(SP$,21); 520 GETA$:IFA$="C"THEN580 530 IF A$="" THEN520 540 V= VAL(A$):IF V<1 OR V>8 THEN520 550 IF V=3 THEN SYS EN,2,320:GOTO440 560 IF V=7 THEN SYS EN,6,320:GOTO440 570 SYS EN,V-1,200:GOTO440 580 PRINT "[152][147]":GOSUB1110:POKE YP,23:POKE D2,30 590 PRINT" THE HORIZONTAL AND VERTICAL" 600 PRINT" SCROLLING SPEED CAN BE CHANGED" 610 PRINT" FOR....":SYS EN,0,40 620 POKE D1,1:POKE D2,1:REM ADJUST DELAY TIMING VALUE 630 PRINT SPC(11)"FASTER SCROLLING...." 640 SYS EN,0,88:SYS EN,2,320 650 POKE D1,40:POKE D2,40 660 PRINT SPC(8)"OR SLOWER SCROLLING...." 670 SYS EN,0,88:SYS EN,6,240 680 POKE YP,19:POKE D1,18:POKE D2,18:POKE WR,0:PRINT"[152][147]";:GOSUB1120 690 X1=11:Y1=10:GOSUB1170 700 PRINT" [153]YOU CAN ALSO HAVE[152] "; 710 PRINT SPC(21)" [153]HORIZONTAL SCROLL[152] "; 720 PRINT SPC(21)" [153]WRAP ON.... [152] "; 730 SYS EN,2,320 740 X1=11:Y1=14:GOSUB1170:PRINT" [158] HIT A KEY.... [152] " 750 GET A$:IF A$="" THEN750 760 X1=19:Y1=13:GOSUB1170:PRINT"[153] OR OFF." 770 X1=11:Y1=14:GOSUB1170:PRINT"[152][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219]" 780 POKE WR,1:SYS EN,6,320 790 POKE SP,1:REM SET TO 8 PIXEL SCROLLING 800 POKE D1,30:POKE D2,30 810 PRINT"[152][147]":GOSUB1120 820 X1=9:Y1=9:GOSUB1170 830 PRINT" [153]YOU CAN SCROLL EIGHT[152] "; 840 PRINTSPC(18)" [153]PIXELS AT A TIME... [152] "; 850 PRINTSPC(18)" [153]ENTER A NUMBER [152] "; 860 PRINTSPC(18)" [153]BETWEEN 1 AND 8. [152] "; 870 PRINTSPC(18)" [153]PRESS C TO CONTINUE.[152] " 880 GET A$:IF A$="C"THEN930 890 V=VAL(A$):IF V<1 OR V>8 THEN880 900 IF V=3 THEN SYS EN,2,40:GOTO810 910 IF V=7 THEN SYS EN,6,40:GOTO810 920 SYS EN,V-1,25:GOTO810 930 POKE YP,23:POKE SP,0:POKE D1,18:POKE D2,18:POKE XP,200 940 PRINT"[152][147]":GOSUB1110:POKE D2,30 950 PRINT" PIXEL MOVER SUPPORTS THESE" 960 PRINT" FEATURES FOR OPTIMAL COMPATIBILITY" 970 PRINT" AND FLEXIBILITY:":PRINT 980 PRINT" [151]*[155] YOU CAN CHANGE THE SCREEN MEMORY" 990 PRINT" OR THE VIDEO BANK AND PIXEL MOVER" 1000 PRINT" WILL ADAPT TO THESE CHANGES." 1010 PRINT:PRINT" [151]*[155] THE [150]PIXEL MOVER RELOCATOR[155] WILL" 1020 PRINT" RELOCATE A COPY OF PIXEL MOVER TO" 1030 PRINT" ANY LOCATION IN MEMORY." 1040 PRINT:PRINTSPC(5)"[153]HIT [158] SPACE [146][153] TO RESTART THIS" 1050 PRINTSPC(3)"DEMO. HIT ANY OTHER KEY TO QUIT." 1060 SYS EN,0,40 1070 GET A$:IF A$="" THEN1070 1080 IF A$=" " THEN230 1090 POKE YP,24:SYS TK:SYS 65418:SYS 65409:END 1100 REM ---- 1110 X1=0:Y1=24:GOSUB1170:RETURN:REM PLOT CURSOR TO BOTTOM OF SCREEN 1120 POKE YP,PEEK(YP)AND239 1130 PRINT"[176][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174]"; 1140 FORI=1 TO 23:PRINT"[171][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][179]";:NEXT 1150 ZZ=SC+960:POKE ZZ,109:FOR I=ZZ+1 TO ZZ+38:POKE I,113:NEXT:POKE ZZ+39,125 1160 PRINT"";:POKE YP,PEEK(YP)OR16:RETURN 1170 POKEX,X1:POKEY,Y1:SYS58636:RETURN